package com.shrcl.engineerprocess.domain;

import com.shrcl.engineerprocess.domain.EngineerCostEstimation;
import com.shrcl.engineerprocess.domain.impl.CostEstimationProcesssImpl;
import com.shrcl.engineerprocess.domain.proxy.CostEstimationProcesssProxy;
import com.shrct.businessprocess.organization.RCEmployee;
import edu.fudan.langlab.domain.workflow.BusinessProcess;
import edu.fudan.mylang.pf.EntityImplementation;

@EntityImplementation(implementBy = CostEstimationProcesssImpl.class)
public interface CostEstimationProcesss extends BusinessProcess {
  public abstract void start(final EngineerCostEstimation costEstimation);
  
  public abstract void TechnicalManagerEst_reject(final String comment);
  
  public abstract void TechnicalManagerEst_accept(final String comment);
  
  public abstract void BusinessManModify();
  
  public abstract void TechnicalDirectorConfirm_reject(final String comment);
  
  public abstract void TechnicalDirectorConfirm_accept(final String comment);
  
  public abstract void BusinessManConfirm();
  
  public abstract EngineerCostEstimation getEst();
  
  public abstract CostEstimationProcesss setEst(final EngineerCostEstimation est);
  
  public abstract RCEmployee getStarter();
  
  public abstract CostEstimationProcesss setStarter(final RCEmployee starter);
  
  public abstract CostEstimationProcesssProxy toProxy();
}
